草庐IT

Java RegEx Matcher.groupCount 返回 0

全部标签

c++ - 输入法编辑器窗口为 WM_QUERYENDSESSION 返回 FALSE - 为什么?

我们有一个奇怪且非常罕见的问题,即人们无法在我们的产品运行时注销Windows服务器。系统是多应用的,都是MFC/C++。这些应用程序从管理服务运行,因此它们在注销后仍然存在。多年来,它在世界各地的大量安装中一直运行良好。我编写了一个测试应用程序来枚举所有窗口,向它们发送WM_QUERYENDSESSION消息,并在返回FALSE时停止。该测试是针对德国出现的问题重现的罕见案例之一进行的。它似乎总是一个不可见的IME(输入法编辑器)窗口是罪魁祸首,但IME窗口始终属于我们的MFC应用程序之一。我想我可以通过调用ImmDisableIME(-1)来解决单个应用程序的问题。但我正在寻找的是

c++ - vss 初始化备份失败,返回码为 E_UNEXPECTED

#include"vss.h"#include"vswriter.h"#include#include#defineCHECK_PRINT(result)printf("%s\n",result==S_OK?"S_OK":"error")intmain(intargc,char*argv[]){BSTRxml;LPTSTRerrorText;IVssBackupComponents*VssHandle;HRESULTresult=CreateVssBackupComponents(&VssHandle);CHECK_PRINT(result);result=VssHandle->Ini

【unity笔记】图解 Vector3.SignedAngle()方法的返回值

 这个方法可以理解为:“两个向量之间的夹角(有符号的)”。我会将它想象成:将两个向量都放在坐标原点,一个向量要向哪个方向旋转多少度才能与另一个向量重合。于是我在坐标原点放置了两个向量:OB和OA。OB始终躺在X轴正方向,看看OA在4个象限的不同的情况下,OB到OA会返回什么值。向量OB———>向量OA,旋转轴为:Z轴正方向floatsignedAngle= Vector3.SignedAngle( OB, OA, Vector3.forward);测试得到的结果记录:得到的SignedAngle:  从图三可以看出,结果并未返回225,而是-135。——“返回两个可能角度中的较小者 ”换而言之

java - AD返回8009030C : LdapErr: DSID-0C09043E,注释: AcceptSecurityContext error,数据0,vece

我使用Java的LdapContext向一台AD服务器进行身份验证。它在Windows7家庭普通版、企业版、专业版上运行良好。但是当客户端在Windows7旗舰版和Vista旗舰版上运行时,AD抛出resultcode49。这两个操作系统有什么问题?我该如何解决? 最佳答案 错误49是无效的凭据。使用Windows登录名(例如JohnS)而不是LDAPDN(例如cn=JohnSmith、ou=Users、dc=example、dc=com)是一个常见的错误。AD也可以接受用户主体名称,例如johns@example.com.

windows - 为什么 boost::filesystem is_directory 在作为 Windows 服务运行时返回不同的结果?

我有一些代码可以遍历目录中的文件并对非目录文件执行有用的操作,如下所示:namespacebfs=boost::filesystem;for(bfs::directory_iteratoriterDir(m_inPath);bContinue&&iterDir!=bfs::directory_iterator();iterDir++){std::stringfilename=iterDir->path().filename().string();boost::to_lower(filename);if(!bfs::is_directory(*iterDir)&&Condition2(f

python - 为什么即使子进程已完成,Popen.poll() 也会返回 None 的返回码?

我有一些在Windows上运行的Python代码生成一个子进程并等待它完成。子进程表现不佳,因此脚本进行了非阻塞的spawn调用并在一旁监视进程。如果达到某个超时阈值,它会终止进程,假设它已经脱离轨道。在某些不可重现的情况下,生成的子进程将消失,而观察程序例程不会接受这一事实。它会一直监视直到超过超时阈值,尝试杀死子进程并得到错误,然后退出。是什么原因导致子进程已经消失而观察程序进程无法检测到这一事实?为什么调用Popen.poll()时没有捕获返回码?我用来生成和观察过程的代码如下:importsubprocessimporttimedefnonblocking_subprocess

java - System.getenv ("computername") 截断返回值

Java中的System.getenv("computername")和System.getenv("hostname")有什么区别?使用getenv()方法获取计算机名称时,是否有字符限制?我的主机名很长,System.getenv("computername")似乎将其截断为15个字符。使用的操作系统是Windows。 最佳答案 Windows中的截断是由于NetBIOS的计算机名称长度限制为15个字符。http://support.microsoft.com/kb/909264 关

c - 为什么 PsGetCurrentProcessId() 返回 null?

我遇到了一个奇怪的问题:在“系统”进程的一个线程中,我调用了PsGetCurrentProcessId(),但得到了一个空值。此外,我检查了线程的_CLIENT_ID,发现UniqueProcess和UniqueThread都是null。我还检查了当前进程,即'system'进程,发现它的UniqueProcessId为4,这是正常的。为什么? 最佳答案 系统进程ID是一个非常好的“hack”,因此多个工具(例如ProcExp、windbg)不必处理特殊情况的仅内核线程或空闲函数调度程序。如果你是一个只有内核的线程,你就没有关联的进

windows - WinInet::InternetSetOption(...) 总是返回 0 而 GetLastError() 返回 12018

我正在尝试使用InternetSetOption(...)方法为代理设置用户名和密码。但是,它总是返回零,最后一个错误设置为12018。下面是我的代码片段。#include"stdafx.h"#includeint_tmain(intargc,_TCHAR*argv[]){HINTERNET_session=::InternetOpen(_T("TestProgram"),INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,NULL);LPCTSTRproxyUserName=L"username";LPCTSTRproxyPassword=L"userpas

c# - SetupDiEnumDriverInfo 总是返回错误 259(没有更多数据可用)

我正在尝试使用win32API在C#中访问有关与设备关联的驱动程序的信息。我已经设法启用/禁用设备(所以我正在检索的句柄似乎没问题),但是我在尝试调用SetupDiEnumDriverInfo时运气不好。这是我使用的代码:privateListListCompatibleDrivers(IntPtrhDevInfo,SP_DEVINFO_DATAdevInfoData){Listresult=newList();try{SP_DRVINFO_DATAdrvInfo=newSP_DRVINFO_DATA();for(inti=0;SetupDiEnumDriverInfo(hDevInf